This invention relates to providing quality of service.
The popularity of the World Wide Web and the emergence of the Internet as a publishing medium have led to increased use of the Internet for interactive, multimedia applications, e.g., video and audio conferencing. Most of these applications involve streaming and downloading multimedia content across the Internet. Streaming allows a user to start viewing data as a continuous stream before receiving the entire multimedia file. For streaming to work effectively, these applications may require some Quality of Service (QoS) guarantees in terms of traffic prioritization, bandwidth reservation, and delay guarantees.
QoS provides the ability to provision bandwidth and other resources so that different data service levels can be assigned to specific data types, applications, or users. With QoS, higher priority data types receive preferential access to bandwidth and other resources while lower priority data types still receive a minimally acceptable amount of bandwidth. Using RSVP (resource reservation setup protocol), an application can reserve resources to transmit the data along a route from a source to a destination. RSVP-enabled routers schedule and prioritize all of the packets of data to fulfill the QoS requirements. Thus, QoS can ensure a guaranteed level of end-to-end service by guaranteeing, for example, data throughput, data bandwidth and other resource sharing, e.g., a server on the Internet, to another location, e.g., the user, for a certain amount of time.
Referring to the example shown in FIG. 1, the total bandwidth available between two end-points, e.g., a user 10a and a web server 22, across a network segment 16 is 500 kbits, and users 10a and 10b share the connection to the network segment 16 via an Internet service provider (ISP) router 12. User 10a is trying to stream a 300 kbit video stream 14 from the web server 22 on the Internet 20 across the network segment 16 while user 10b is participating in a video conference 18 with a corporate office 24 using the same network segment 16 as user 10a. User 10b may have already reserved bandwidth, e.g., 400 kbits, across the network segment 16 using RSVP. Thus, even though user 10a might reasonably expect to receive the video stream 14 without any loss because 300 kbits fit on the 500 kbit network segment 16, user 10a will, actually experience loss, e.g., video freezing because the user 10a is unaware of other traffic on the 500 kbit network segment 16. In this example, even if user 10a knew of the 500 kbit capacity across the network segment 16 and consequently chose the 300 kbit video stream 14 instead of a lower quality video stream, e.g., 200 kbits, or a higher quality stream, e.g., 600 kbits, user 10a may still need to resort to trial-and-error to choose the appropriately sized video stream 14.